package com.ce.pms.system.renovation.model;

import com.ce.pms.common.model.HmEmployeeDomain;
import com.ce.pms.common.model.SysInfo;
import com.ce.pms.house.model.ChargePrecinctDomain;
import com.sitechasia.webx.core.model.IDomainObject;
import javax.persistence.AttributeOverride;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="SEC_BUSINESS_PROCESS")
public class BussinessProcessDO
  implements IDomainObject
{
  private static final long serialVersionUID = 1L;
  public static final String PROCESS_CLASS_RENOVATE_APPR = "001";
  public static final String PROCESS_CLASS_DEPOSIT_APPR = "002";

  @Id
  @GeneratedValue
  @Column(name="BUSINESS_PROCESS_ID")
  private Long keyword;

  @ManyToOne(fetch=FetchType.LAZY)
  @JoinColumn(name="CHARGE_PRECINCT_ID")
  private ChargePrecinctDomain chargePrecinctDomain;

  @Column(name="PROCESS_NAME", length=30)
  private String processName;

  @Column(name="PROCESS_CLASS", length=3)
  private String processClass;

  @ManyToOne(fetch=FetchType.LAZY)
  @JoinColumn(name="EMPLOYEE_ID")
  private HmEmployeeDomain hmEmployeeDomain;

  @Column(name="SERIAL_NUMBER", length=6)
  private Short serialNumber;

  @Column(name="SERIAL_NUMBER_NAME", length=10)
  private String serialNumberName;

  @Column(name="THE_USE_OF_STATE", length=1)
  private Character theUseOfState;

  @Embedded
  @AttributeOverride(name="sysDate", column=@Column(name="SYS_DATE"))
  private SysInfo sysInfo;

  public HmEmployeeDomain getHmEmployeeDomain()
  {
    return this.hmEmployeeDomain;
  }

  public void setHmEmployeeDomain(HmEmployeeDomain hmEmployeeDomain) {
    this.hmEmployeeDomain = hmEmployeeDomain;
  }

  public Long getKeyword() {
    return this.keyword;
  }

  public void setKeyword(Long keyword) {
    this.keyword = keyword;
  }

  public String getProcessClass() {
    return this.processClass;
  }

  public void setProcessClass(String processClass) {
    this.processClass = processClass;
  }

  public String getProcessName() {
    return this.processName;
  }

  public void setProcessName(String processName) {
    this.processName = processName;
  }

  public String getSerialNumberName() {
    return this.serialNumberName;
  }

  public void setSerialNumberName(String serialNumberName) {
    this.serialNumberName = serialNumberName;
  }

  public SysInfo getSysInfo() {
    return this.sysInfo;
  }

  public void setSysInfo(SysInfo sysInfo) {
    this.sysInfo = sysInfo;
  }

  public Short getSerialNumber() {
    return this.serialNumber;
  }

  public Character getTheUseOfState() {
    return this.theUseOfState;
  }

  public void setTheUseOfState(Character theUseOfState) {
    this.theUseOfState = theUseOfState;
  }

  public void setSerialNumber(Short serialNumber) {
    this.serialNumber = serialNumber;
  }

  public ChargePrecinctDomain getChargePrecinctDomain() {
    return this.chargePrecinctDomain;
  }

  public void setChargePrecinctDomain(ChargePrecinctDomain chargePrecinctDomain) {
    this.chargePrecinctDomain = chargePrecinctDomain;
  }
}